import {defineStore} from "pinia"

/**
 * 定义与用户相关的 Store
 * 'userStore' 为定义的 Store 的 id
 *
 * @type {StoreDefinition<string, {}, {}, {}>}
 */
const useUserStore = defineStore('userStore', {
    state: () => ({
        // 用户信息
        userinfo: {}
    }),
    actions: {
        /**
         * 保存用户信息
         *
         * @param userinfo 用户信息
         */
        saveUserinfo(userinfo) {
            this.userinfo = userinfo
        }
    },
    getters: {
        /**
         * 获取用户信息 id
         *
         * @return {*} 用户信息 id
         */
        userinfoId() {
            return this.userinfo?.id
        },
        /**
         * 获取用户是否实名认证
         *
         * @return {*} 用户是否实名认证
         */
        isAuthentication() {
            return this.userinfo?.isAuthentication
        },
        /**
         * 获取用户是否注册为商家
         *
         * @return {*} 用户是否注册为商家
         */
        isBusiness() {
            return this.userinfo?.isBusiness
        },
    }
})

/**
 * 导出 Store
 */
export default useUserStore